from devicetest.api import Asserts

from devicetest.aw.OpenHarmony import CommonOH
from devicetest.core.test_case import TestCase, Step
from devicetest.log.logger import print_info

from aw.common import common_setup, common_teardown
from aw.pom import Memorandum


class PreTest_RK3568_Tooling_Memorandum_0900(TestCase, Memorandum):
    # 预置条件：
    # 烧写目标版本后，正常进入桌面
    # 测试步骤：
    # 1.进入桌面-备忘录应用，点击右上角“+”新建笔记
    # 2.输入标题内容
    # 3.点击内容位置输入笔记内容
    # 4.点击清单
    # 5.点击样式
    # 6.点击相册
    # 7.点击右上角的撤回键和前进键
    # 8.点击分类
    # 9.点击右上角√标识保存
    # 预期结果：
    # 1.进入笔记编辑界面
    # 2.唤醒键盘可以正常输入标题
    # 3.唤醒键盘可以正常输入笔记内容
    # 4.可以正常添加清单〇标识
    # 5.输入的内容根据样式的选择显示
    # 6.首次点击相册有赋权弹窗，允许后选择已有的图片或点击拍照添加图片添加入笔记中，显示正常
    # 7.撤回键可以返回至上一步，前进键可以根据返回到上一步后再回到本步
    # 8.可以选择已有的分类
    # 9.保存成功，可以在选择的选择的分类中查看到保存的笔记，笔记封面展示插入的图片

    def __init__(self, controllers):
        self.TAG = self.__class__.__name__
        TestCase.__init__(self, self.TAG, controllers)

    def setup(self):
        common_setup(self.Phone1)

    def process(self):
        Step('步骤1：进入备忘录应用，点击右上角“+”新建笔记')
        CommonOH.startAbility(self.Phone1, self.ability_name, self.bundle_name)
        CommonOH.wait(self.Phone1, 1)
        CommonOH.click(self.Phone1, **self.add_note)
        Step('预期结果1：进入笔记编辑界面')
        CommonOH.checkIfTextExist(self.Phone1, '标题')

        Step('步骤2：输入标题内容')
        CommonOH.touchByText(self.Phone1, '标题')
        CommonOH.touchByType(self.Phone1, 'TextInput')
        Step('预期结果2：唤醒键盘可以正常输入标题')
        CommonOH.checkIfTextExist(self.Phone1, 'space')
        title_str = 'abc'
        content_str = 'test123'
        CommonOH.inputTextByType(self.Phone1, type='TextInput', content=title_str)
        CommonOH.touchByText(self.Phone1, '保存')
        CommonOH.checkIfTextExist(self.Phone1, title_str)
        Step('步骤3：点击内容位置输入笔记内容')
        CommonOH.click(self.Phone1, **self.content_area)
        CommonOH.inputTextByType(self.Phone1, type='Web', content=content_str)
        Step('预期结果3：预期结果唤醒键盘可以正常输入笔记内容')
        CommonOH.checkIfTextExist(self.Phone1, 'space')
        CommonOH.checkIfTextExist(self.Phone1, content_str)

        Step('步骤4：点击分类，选择分类')
        CommonOH.touchByText(self.Phone1, '未分类')
        CommonOH.touchByText(self.Phone1, '个人')
        Step('步骤5：点击右上角"√"保存')
        CommonOH.click(self.Phone1, **self.save_note)
        CommonOH.click(self.Phone1, **self.back)
        Step('预期结果4：保存成功，可以在选择的分类中查看到保存的笔记')
        CommonOH.click(self.Phone1, **self.open_menu)
        CommonOH.touchByText(self.Phone1, '个人')
        CommonOH.click(self.Phone1, **self.close_menu)
        CommonOH.checkIfTextExist(self.Phone1, title_str)

    def teardown(self):
        common_teardown(self.Phone1, self.bundle_name)
